package module.building.cmds
{
	import com.darwin.darwinMVC.mvc.Command;

	/**
	 * 建筑命令 
	 * @author hc
	 */
	public class BuildCommand extends Command
	{
		
		private static const BUILDCMD_KEY:String = "BuildCommand.";
		/**
		 * 选中建筑列表中的一个建筑 
		 */
		public static const SELECT_BUILDLISTITEM:String = BUILDCMD_KEY+"select_buildListItem";
		
		
		/**
		 * 点击建造按钮
		 */
		public static const CLICK_BUILD_OPEN_BUTTON:String = BUILDCMD_KEY+"click_build_open_button";
		
		/**
		 * 点击弹出环形菜单
		 */
		public static const SHOW_BUILD_RING:String = BUILDCMD_KEY+"show_build_ring";
		
		/**
		 * 建筑成功摆放 
		 */		
		public static const BUILD_CONSTRUCTION_SUCCESS:String = BUILDCMD_KEY+"construction_success";
			
		/**
		 * 建筑成功删除 
		 */
		public static const REMOVE_CONSTRUCTION_SUCCESS:String = BUILDCMD_KEY+"remove_success";
		
		/**
		 * 建筑移动删除 
		 */
		public static const MOVE_CONSTRUCTION_SUCCESS:String = BUILDCMD_KEY+"move_success";
		
		/**
		 * 建筑开始升级
		 */
		public static const BUILD_UPGRADE_START:String = BUILDCMD_KEY+"build_upgrade_start";
		
		/**
		 * 建筑升级完成 
		 */
		public static const BUILD_UPGRADE_END:String = BUILDCMD_KEY+"build_upgrade_end";
		
		/**
		 * 隐藏环形菜单
		 */
		public static const HIDE_BUILD_RING:String = BUILDCMD_KEY+"hide_build_ring";
		
		/**
		 * 点击关闭按钮 
		 */
		public static const CLICK_BUILD_CLOSE_BUTTON:String = BUILDCMD_KEY+"click_build_close_button";
		
		/**
		 * 选择列表中的一个建筑，并drag住该建筑时，取消该建筑的drag命令，相当于单步撤销
		 */
		public static const REMOVE_CURRENT_DRAGGING_BUILDING:String = BUILDCMD_KEY+"remove_current_dragging_building";
		
		/**
		 * 点击DIY按钮面板中的建造按钮
		 */
		public static const DIY_BUILD:String = BUILDCMD_KEY+"diy_build";
		
		public static const DIY_REMOVE_CONFIRM:String = BUILDCMD_KEY+"diy_remove_confirm";
		/**
		 * 确认所有建造操作的命令
		 */
		public static const DIY_CONFIRM:String = BUILDCMD_KEY+"diy_confirm";
		
		/**
		 * 撤销所有建造操作的命令
		 */
		public static const DIY_CANCEL:String = BUILDCMD_KEY+"diy_cancel";
		
		/**
		 * 移动 
		 */
		public static const DIY_MOVE:String = BUILDCMD_KEY+"diy_move";
		
		/**
		 * 拆除 
		 */
		public static const DIY_REMOVE:String = BUILDCMD_KEY+"diy_remove";
		
		/**
		 * 收回至背包 
		 */
		public static const DIY_MOVETOBAG:String = BUILDCMD_KEY+"diy_movetobag";
		
		/**
		 *	建筑生产 (如花店生产金币)
		 */		
		public static const BUILD_PRODUCE:String = BUILDCMD_KEY + "build_produce";
		
		/**
		 * 	建筑收获（如花店收获金币）
		 */		
		public static const BUILD_HARVEST:String = BUILDCMD_KEY + "build_harvest";
		
		/**
		 *	撤销diy状态中的一组动作,data属性应当为SceneCommand命令的数组,场景控制器监听到此命令后将依次撤销对应的动作 
		 */
		public static const DIY_REVERT:String = BUILDCMD_KEY+"diy_revert";
		
		/**
		 * 单个建筑摆放完成 
		 */
		public static const CONSTRUCTION_COMPLETE:String = BUILDCMD_KEY+"construction_complete!";
			
		public static const SHOW_BUILDING_UPGRADE:String = BUILDCMD_KEY+"show_building_upgrage";
		
		public static const RESOUSE_GOLD:String = "resouse_gold";
		
		public function BuildCommand(cmd:String, target:Object=null)
		{
			super(cmd,target);
		}
	}
}